package com.wasion.pwportable.protocol.analyzer.terminal;

import com.wasion.core.util.ConverterXBaseUtil;
import com.wasion.pwportable.protocol.analyzer.AbstractAnalyzer;

public class DEV_INFO_RD_Analyzer extends AbstractAnalyzer {

	@Override
	public void dataAnalysis(String ackBS) {
		// String dataType = ackBS.substring(DATATPYESTARTBIT, DATATPYENDBIT);

		String dataLen = ackBS.substring(DATALENGTHSTARTBIT, DATALENGTHENDBIT); // 16进制的数据长度

		if (dataLen.equalsIgnoreCase("1C")) {

			// 软件版本号
			String data = ackBS.substring(DATABITSTART, DATABITSTART + 16);
			String swVerD = data.substring(14, 16) + data.substring(12, 14)
					+ data.substring(10, 12) + data.substring(8, 10)
					+ data.substring(6, 8) + data.substring(4, 6)
					+ data.substring(2, 4) + data.substring(0, 2);

			String verS = ConverterXBaseUtil.decode(swVerD);
			result.setSwVersion(new StringBuffer(verS).reverse().toString());

			// 硬件版本号
			data = ackBS.substring(DATABITSTART + 16, DATABITSTART + 32);
			String hwVerD = data.substring(14, 16) + data.substring(12, 14)
					+ data.substring(10, 12) + data.substring(8, 10)
					+ data.substring(6, 8) + data.substring(4, 6)
					+ data.substring(2, 4) + data.substring(0, 2);

			String verH = ConverterXBaseUtil.decode(hwVerD);
			result.setHwVersion(new StringBuffer(verH).reverse().toString());

			// 通信短码
			data = ackBS.substring(DATABITSTART + 32, DATABITSTART + 38);
			String devIdD = data.substring(4, 6) + data.substring(2, 4)
					+ data.substring(0, 2);
			result.setiAddress(devIdD);

		}
	}
}
